<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;

class CreateNdMasterAccountTable extends Migration {

    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('nd_master_account', function(Blueprint $table) {
            //$table->increments('id');
            $table->increments('id');                                   // ID
            $table->integer('domainid');                                // ドメインID
            $table->integer('code');                                    // 勘定項目
            $table->string('class', 1);                                 // 科目分類
            $table->string('name', 60);                                 // 標準ラベル（日本語）
            $table->string('lname', 160);                               // 冗長ラベル（日本語）
            $table->string('uname', 80);                                // 用途別ラベル（日本語）
            $table->string('ename', 120);                               // 標準ラベル（英語）
            $table->string('nameid', 160);                              // 要素名
            $table->string('type', 1);                                  // type (string:0, money:1)
            $table->string('balance', 8);                               // balance( debt , credit)
            $table->string('abstract', 1);                              // abstract (false:0, true:1)
            $table->string('nillable', 1);                              // nillable (false:0, true:1)
            $table->integer('node_parent')->nullable();
            $table->integer('node_left')->nullable();
            $table->integer('node_right')->nullable();
            $table->integer('node_depth')->nullable();
            $table->timestamps();
            $table->softDeletes();
            $table->unique( array('domainid', 'code'));                 // uniqueキー
            $table->unique( array('domainid', 'nameid', 'node_depth'));  // uniqueキー
            //$table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('nd_master_account');
    }
}
